home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
PET
/
O-Old PET 1979
/
(o)a2.d64
/
v40.2.s
< prev
next >
Wrap
Text File
|
2007-04-22
|
1KB
|
66 lines
;*******************************
;
; 40 COLUMN & BASIC 2.0
;
;*******************************
;
ENDSCR=33727
SCREEN=32808
LINLEN=40
PRINT=$E3D8
MSGPN=2
IRQCDE=$E62E
;
;SET UP REPEAT FOR 40 COLUMN
;
*=$7B00
LDA $90
STA IRQLO
LDA $91
STA IRQHI
SEI
LDA #<REPCDE
STA $90
LDA #>REPCDE
STA $91
CLI
.LIB SC1.S
FINISH SEI ;RESET IRQ
LDA IRQLO ;TO SAVED VALUE
STA $90
LDA IRQHI
STA $91
CLI
RTS ;AND RETURN TO BASIC
;
;**************************************
;* REPEAT CODE FOR 40 COLUMN PET. *
;**************************************
;
DELAY .BYT 0 ;REPEAT DELAY
REPCTR .BYT 0 ;REPEAT COUNTER
IRQLO .BYT 0 ;STORE FOR INTERRUPT
IRQHI .BYT 0 ;REQUEST VECTOR
;
REPCDE LDA 151 ;GET KEYPRESS
CMP #255 ;NOTHING ?
BNE REPEAT ;NO - TEST REPEAT
LDA #0 ;ZEROISE REPEAT COUNTER
STA REPCTR
LDA #16 ;SET REPEAT DELAY TO 16
STA DELAY
BNE IRQ ;AND GO ON
REPEAT INC REPCTR ;INCREMENT COUNTER
LDA DELAY ;GET REPEAT DELAY
CMP REPCTR ;HAS COUNTER REACHED THIS ?
BNE IRQ ;NO - GO ON
LDA #4 ;YES - SET THE LIMIT TO BE SHORTER
STA DELAY
LDA #255 ;FOOL OPERATING SYSTEM
STA 151 ;TO THINK 'NO KEY PRESSED'
LDA #0 ;ZEROISE COUNTER AGAIN
STA REPCTR
IRQ JMP (IRQLO) ;AND JUMP TO USUAL IRQ
;
.END